|
A carry-skip adder (also known as a carry-bypass adder) is an adder implementation that improves on the delay of a ripple-carry adder with little effort compared to other adders. The improvement of the worst-case delay is achieved by using several carry-skip adders to form a block-carry-skip adder. ==Single carry-skip adder== The worst case for a simple one level carry-ripple-adder occurs, when the propagate-condition〔 〕 is true for each digit pair . Then the carry-in ripples through the -bit adder and appears as the carry-out after . For each operand input bit pair the propagate-conditions are determined using an XOR-Gate (see ). When all propagate-conditions are ''true'', then the carry-in bit determines the carry-out bit. The ''n''-bit-carry-skip adder consists of a ''n''-bit-carry-ripple-chain, a ''n''-input AND-gate and one multiplexer. Each propagate bit , that is provided by the carry-ripple-chain is connected to the ''n''-input AND-gate. The resulting bit is used as the select bit of a multiplexer that switches either the last carry-bit or the carry-in to the carry-out signal . * This greatly reduces the latency of the adder through its critical path, since the carry bit for each block can now "skip" over blocks with a ''group'' propagate signal set to logic 1 (as opposed to a long ripple-carry chain, which would require the carry to ripple through each bit in the adder). The number of inputs of the AND-gate is equal to the width of the adder. For a large width, this becomes impractical and leads to additional delays, because the AND-gate has to be built as a tree. A good width is achieved, when the sum-logic has the same depth like the ''n''-input AND-gate and the multiplexer. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Carry-skip adder」の詳細全文を読む スポンサード リンク
|